/**
 *====================================================
 * 文件名称: FinanceApplicationEntity.java
 * 修订记录：
 * No    日期				作者(操作:具体内容)
 * 1.    2015年9月23日			chenxy(创建:创建文件)
 *====================================================
 * 类描述：(说明未实现或其它不应生成javadoc的内容)
 */
package com.yuexunit.finance.project.entity;

import java.math.BigDecimal;
import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;

import org.apache.commons.lang.StringUtils;

import com.yuexunit.finance.project.entity.lexicon.ConstractStateEnum;
import com.yuexunit.finance.project.entity.lexicon.FinanceConstractStateEnum;
import com.yuexunit.finance.project.entity.lexicon.FinanceStateEnum;
import com.yuexunit.finance.project.entity.lexicon.LoanMethodEnum;
import com.yuexunit.finance.project.entity.lexicon.ProductTypeEnum;

/**
 * @ClassName: FinanceApplicationEntity
 * @Description: TODO(这里用一句话描述这个类的作用)
 * @author chenxy
 * @date 2015年9月23日 下午5:15:33
 */
@Entity
@Table(name = "FIN_FINANCE_APPLICATION")
public class FinanceApplicationEntity {

	/** ﻿融资信息ID */
	@Id
	@GeneratedValue
	@Column(name = "FINANCE_ID")
	private Long financeId;

	/** 融资企业ID */
	@Column(name = "ENTERPRISE_ID")
	private Long enterpriseId;

	/** 融资企业名称 */
	@Column(name = "ENTERPRISE_NAME")
	private String enterpriseName;

	/** 融资信息编号 */
	@Column(name = "FINANCE_NUMBER")
	private String financeNumber;

	/** 融资产品ID */
	@Column(name = "PRODUCT_ID")
	private Long productId;

	/** 融资产品名称 */
	@Column(name = "PRODUCT_NAME")
	private String productName;

	/** 产品类型 1:代采/2:质押 */
	@Column(name = "PRODUCT_TYPE")
	private ProductTypeEnum productType;

	/** 异常理货标注 0:异常/1:正常 */
	@Column(name = "ABNORMAL")
	private Boolean abnormal;

	/** 申请时间 */
	@Column(name = "APPLICATION_DT")
	private Date applicationDateTime;

	/** 申请金额 */
	@Column(name = "APPLICATION_AMOUNT")
	private BigDecimal applicationAmount;

	/** 货物估值 */
	@Column(name = "VALUATION")
	private BigDecimal valuation;

	/** 借款方式 1:按日计息/2:固定计息 */
	@Column(name = "LOAN_METHOD")
	private LoanMethodEnum loanMethod;

	/** 借款期限 */
	@Column(name = "LOAN_TIME_LIMIT")
	private Integer loanTimeLimit;

	/** 预计利息 */
	@Column(name = "ESTIMATE_INTEREST")
	private BigDecimal estimateInterest;

	/** 产品利率 */
	@Column(name = "INTEREST")
	private BigDecimal interest;

	/** 货物类别ID */
	@Column(name = "BULKSTOCK_CATEGORY_ID")
	private Long bulkstockCategoryId;

	/** 货物类别 */
	@Column(name = "BULKSTOCK_CATEGORY")
	private String bulkstockCategory;

	/** 发货省份ID */
	@Column(name = "DELIVER_PROVINCE_ID")
	private Long deliverProvinceId;

	/** 发货省份 */
	@Column(name = "DELIVER_PROVINCE")
	private String deliverProvince;

	/** 发货城市ID */
	@Column(name = "DELIVER_CITY_ID")
	private Long deliverCityId;

	/** 发货城市 */
	@Column(name = "DELIVER_CITY")
	private String deliverCity;

	/** 发货区县ID */
	@Column(name = "DELIVER_DISTRICT_ID")
	private Long deliverDistrictId;

	/** 发货区县 */
	@Column(name = "DELIVER_DISTRICT")
	private String deliverDistrict;

	/** 发货地 */
	@Column(name = "DELIVER_ADDRESS")
	private String deliverAddress;

	/** 发货方 */
	@Column(name = "DELIVER")
	private String deliver;

	/** 发获联系人 */
	@Column(name = "DELIVER_CONTACTOR")
	private String deliverContactor;

	/** 发货联系人电话 */
	@Column(name = "DELIVER_CONTACT_PHONE")
	private String deliverContactPhone;

	/** 收货省份ID */
	@Column(name = "RECEIVE_PROVINCE_ID")
	private Long receiveProvinceId;

	/** 收货省份 */
	@Column(name = "RECEIVE_PROVINCE")
	private String receiveProvince;

	/** 收货城市ID */
	@Column(name = "RECEIVE_CITY_ID")
	private Long receiveCityId;

	/** 收货城市 */
	@Column(name = "RECEIVE_CITY")
	private String receiveCity;

	/** 收货区县ID */
	@Column(name = "RECEIVE_DISTRICT_ID")
	private Long receiveDistrictId;

	/** 收货区县 */
	@Column(name = "RECEIVE_DISTRICT")
	private String receiveDistrict;

	/** 收货地 */
	@Column(name = "RECEIVE_ADDRESS")
	private String receiveAddress;

	/** 收货方 */
	@Column(name = "RECEIVE")
	private String receive;

	/** 收货联系人 */
	@Column(name = "RECEIVE_CONTACTOR")
	private String receiveContactor;

	/** 收货联系人电话 */
	@Column(name = "RECEIVE_CONTACT_PHONE")
	private String receiveContactPhone;

	/** 是否订舱 */
	@Column(name = "BOOKING_SPACE")
	private Boolean bookingSpace;

	/** 包装要求 */
	@Column(name = "PACKING_DEMAND")
	private String packingDemand;

	/** 标记要求 */
	@Column(name = "MARK_DEMAND")
	private String markDemand;

	/** 储存条件 */
	@Column(name = "STORE_DEMAND")
	private String storeDemand;

	/** 保管要求 */
	@Column(name = "SAFEKEEP")
	private String safekeep;

	/**
	 * 融资状态
	 * 0:未知/1:审批中/2:已审批/3:审批不通过/4:合同已签订(融资合同&监管合同)/5:待验货/6:已验货/7:待放款/8:已收款/9:提货审批中/10:提货审批不通过/11:换货审批中/12:换货审批不通过/13:提货已审批/14:待放货/15:放货中/16:已签收/17:已完成/18:已评价
	 */
	@Column(name = "FINANCE_STATE")
	private FinanceStateEnum financeState;

	/** 审核金额 */
	@Column(name = "FINANCE_AMOUNT")
	private BigDecimal financeAmount;

	/** 审核利息 */
	@Column(name = "AUDIT_INTEREST")
	private BigDecimal auditInterest;

	/** 审核备注 */
	@Column(name = "AUDIT_REMARK")
	private String auditRemark;

	/** 评审人ID */
	@Column(name = "AUDITOR_ID")
	private Long auditorId;

	/** 评审人 */
	@Column(name = "AUDITOR")
	private String auditor;

	/** 强制驳回备注 */
	@Column(name = "REJECT_REMARK")
	private String rejectRemark;

	/** 提前违约期限 */
	@Column(name = "ADVANCE_TIME_LIMIT")
	private Integer advanceTimeLimit;

	/** 罚息期限天数 */
	@Column(name = "PUNISH_TIME_LIMIT")
	private Integer punishTimeLimit;

	/** 赎货期限天数 */
	@Column(name = "DISTRAIN_TIME_LIMIT")
	private Integer distrainTimeLimit;

	/** 授信额度 */
	@Column(name = "CREDIT_QUOTA")
	private BigDecimal creditQuota;

	/** 保证金 */
	@Column(name = "BAIL")
	private BigDecimal bail;
	
	/** 已退还保证金 */
	@Column(name = "BAIL_ALREADY_RETURN")
	private BigDecimal bailAlreadyReturn;

	/** 授信使用额度 */
	@Column(name = "CREDIT_QUOTA_CONSUME")
	private BigDecimal creditQuotaConsume;

	/** 放款总额 */
	@Column(name = "TOTAL_LOAN_AMOUNT")
	private BigDecimal totalLoanAmount;

	/** 收款总额 */
	@Column(name = "TOTAL_RECEIVED_AMOUNT")
	private BigDecimal totalReceivedAmount;

	/** 监管合同ID */
	@Column(name = "SUPERVISION_CONTRACT_ID")
	private Long supervisionContractId;

	/** 融资合同ID */
	@Column(name = "FINANCE_CONTRACT_ID")
	private Long financeContractId;
	
	/** 增补合同ID */
	@Column(name = "SUPPLEMENT_CONTRACT_ID")
	private Long supplementContractId;

	/** 监管通知ID */
	@Column(name = "SUPERVISION_NOTICE_ID")
	private Long supervisionNoticeId;
	
	/** 融资申请预警创建时间 */
	@Column(name = "APPLICATION_CREATE_DT")
	private Date applicationCreateDatetime;
	
	/** 合同上传预警创建时间 */
	@Column(name = "CONSTRACT_CREATE_DT")
	private Date constractCreateDatetime;
	
	/** 通知装货预警创建时间 */
	@Column(name = "RECEIVE_CREATE_DT")
	private Date receiveCreateDatetime;
	
	/** 监管确认预警创建时间*/
	@Column(name = "SUPERVISION_CREATE_DT")
	private Date supervisionCreateDatetime;
	
	/** 放款申请预警创建时间 */
	@Column(name = "LOAN_APPLICATION_CREATE_DT")
	private Date loanApplicationCreateDatetime;
	
	/** 通知运输预警创建时间 */
	@Column(name = "TRANSPORT_NOTICE_CREATE_DT")
	private Date transportNoticeCreateDatetime;
	
	/** 质押率 */
	@Column(name = "PLEDGE_RATE")
	private BigDecimal pledgeRate;
	
	/** 是否保险-企业 */
	@Column(name = "ENTERPRISE_INSURANCE")
	private Boolean enterpriseInsurance;
	
	/** 保险费用-企业 */
	@Column(name = "ENTERPRISE_INSURANCE_AMOUNT")
	private BigDecimal enterpriseInsuranceAmount;
	
	/** 保额-企业 */
	@Column(name = "ENTERPRISE_INSURANCE_FORCE_AMOUNT")
	private BigDecimal enterpriseForceAmount;
	
	/** 保险公司-企业 */
	@Column(name = "ENTERPRISE_INSURANCE_COMPANY")
	private String enterpriseInsurer;
	
	/** 险种-企业 */
	@Column(name = "ENTERPRISE_INSURANCE_TYPE")
	private String enterpriseInsuranceType;
	
	/** 保单编号-企业 */
	@Column(name = "ENTERPRISE_INSURANCE_NUMBER")
	private String enterpriseInsuranceNumber;
	
	/** 融资合同范本 */
	@Column(name = "FINANCE_CONSTRACT_SAMPLE")
	private String financeConstractSample;
	
	/** 合同提交状态 */
	@Column(name = "CONSTRACT_STATE")
	private ConstractStateEnum constractState;
	
	/** 合同签署状态 */
	@Column(name = "FINANCE_CONSTRACT_STATE")
	private FinanceConstractStateEnum financeConstractState;
	
	/** 是否打回 */
	@Column(name = "CALLBACK")
	private Boolean callback;
	
	/** 应收账款金额-运费保理 */
	@Column(name = "RECEIVABLE_AMOUNT")
	private BigDecimal receivableAmount;
	
	/** 保理款-运费保理 */
	@Column(name = "FACTORING_AMOUNT")
	private BigDecimal factoringAmount;
	
	/** 对应买方-运费保理 */
	@Column(name = "PURCHASER")
	private String purchaser;
	
	/** 发票票号-运费保理 */
	@Column(name = "INVOICE_NUMBER")
	private String invoiceNumber;

	/** 发票金额-运费保理 */
	@Column(name = "INVOICE_AMOUNT")
	private BigDecimal invoiceAmount;
	
	/** 发票日期-运费保理 */
	@Column(name = "INVOICE_DATE")
	private Date invoiceDate;
	
	/** 预计到期日-运费保理 */
	@Column(name = "DUE_DATE")
	private Date dueDate;
	
	/** 其他-保理业务 */
	@Column(name = "OTHERS_REMARK")
	private String othersRemark;
	
	/** 运输费用承担 */
	@Column(name = "TRANSPORT_EXPENSE_BEAR")
	private String transportExpenseBear;
	
	/** 交货时间 */
	@Column(name = "DELIVERY_DATE")
	private Date deliveryDate;

	/** 运输方式 */
	@Column(name = "TRANSPORT_METHOD")
	private String transportMethod;

	/** 装货要求 */
	@Column(name = "SHIPMENT_CLAIM")
	private String shipmentClaim;

	/** 结算方式 1-先货后款 2-先款后货 */
	@Column(name = "SETTLEMENT_METHOD")
	private Integer settlementMethod;
	
	/** 交货地点 */
	@Column(name = "DELIVERY_ADDRESS")
	private String deliveryAddress;
	
	/** 电子签署 */
	@Column(name = "IS_SIGN")
	private Integer isSign;
	
	/** 代理申请人ID */
	@Column(name = "PROXY_ACCOUNT_ID")
	private Long proxyAccountId;
	
	/** 代理人姓名*/
	@Column(name = "PROXY_ACCOUNT_NAME")
	private String proxyAccountName;

	public FinanceConstractStateEnum getFinanceConstractState() {
		if (null == financeConstractState) {
			return FinanceConstractStateEnum.UNKNOWN;
		}
		return financeConstractState;
	}

	public void setFinanceConstractState(FinanceConstractStateEnum financeConstractState) {
		this.financeConstractState = financeConstractState;
	}

	public Integer getIsSign() {
		if (null == isSign) {
			return 0;
		}
		return isSign;
	}

	public void setIsSign(Integer isSign) {
		this.isSign = isSign;
	}

	public String getDeliveryAddress() {
		return deliveryAddress;
	}

	public void setDeliveryAddress(String deliveryAddress) {
		this.deliveryAddress = deliveryAddress;
	}

	public BigDecimal getPledgeRate() {
		return pledgeRate;
	}

	public void setPledgeRate(BigDecimal pledgeRate) {
		this.pledgeRate = pledgeRate;
	}

	public String getTransportExpenseBear() {
		return transportExpenseBear;
	}

	public void setTransportExpenseBear(String transportExpenseBear) {
		this.transportExpenseBear = transportExpenseBear;
	}

	public Date getDeliveryDate() {
		return deliveryDate;
	}

	public void setDeliveryDate(Date deliveryDate) {
		this.deliveryDate = deliveryDate;
	}

	public String getTransportMethod() {
		return transportMethod;
	}

	public void setTransportMethod(String transportMethod) {
		this.transportMethod = transportMethod;
	}

	public String getShipmentClaim() {
		return shipmentClaim;
	}

	public void setShipmentClaim(String shipmentClaim) {
		this.shipmentClaim = shipmentClaim;
	}

	public Integer getSettlementMethod() {
		return settlementMethod;
	}

	public void setSettlementMethod(Integer settlementMethod) {
		this.settlementMethod = settlementMethod;
	}

	public BigDecimal getReceivableAmount() {
		return receivableAmount;
	}

	public void setReceivableAmount(BigDecimal receivableAmount) {
		this.receivableAmount = receivableAmount;
	}

	public BigDecimal getFactoringAmount() {
		return factoringAmount;
	}

	public void setFactoringAmount(BigDecimal factoringAmount) {
		this.factoringAmount = factoringAmount;
	}

	public String getPurchaser() {
		return purchaser;
	}

	public void setPurchaser(String purchaser) {
		this.purchaser = purchaser;
	}

	public String getInvoiceNumber() {
		return invoiceNumber;
	}

	public void setInvoiceNumber(String invoiceNumber) {
		this.invoiceNumber = invoiceNumber;
	}

	public BigDecimal getInvoiceAmount() {
		return invoiceAmount;
	}

	public void setInvoiceAmount(BigDecimal invoiceAmount) {
		this.invoiceAmount = invoiceAmount;
	}

	public Date getInvoiceDate() {
		return invoiceDate;
	}

	public void setInvoiceDate(Date invoiceDate) {
		this.invoiceDate = invoiceDate;
	}

	public Date getDueDate() {
		return dueDate;
	}

	public void setDueDate(Date dueDate) {
		this.dueDate = dueDate;
	}

	public String getOthersRemark() {
		return othersRemark;
	}

	public void setOthersRemark(String othersRemark) {
		this.othersRemark = othersRemark;
	}

	public Boolean getCallback() {
		return callback;
	}

	public void setCallback(Boolean callback) {
		this.callback = callback;
	}

	public ConstractStateEnum getConstractState() {
		return constractState;
	}

	public void setConstractState(ConstractStateEnum constractState) {
		this.constractState = constractState;
	}

	public String getFinanceConstractSample() {
		return financeConstractSample;
	}

	public void setFinanceConstractSample(String financeConstractSample) {
		this.financeConstractSample = financeConstractSample;
	}

	public Boolean getEnterpriseInsurance() {
		return enterpriseInsurance;
	}

	public void setEnterpriseInsurance(Boolean enterpriseInsurance) {
		this.enterpriseInsurance = enterpriseInsurance;
	}

	public BigDecimal getEnterpriseInsuranceAmount() {
		return enterpriseInsuranceAmount;
	}

	public void setEnterpriseInsuranceAmount(BigDecimal enterpriseInsuranceAmount) {
		this.enterpriseInsuranceAmount = enterpriseInsuranceAmount;
	}

	public BigDecimal getEnterpriseForceAmount() {
		return enterpriseForceAmount;
	}

	public void setEnterpriseForceAmount(BigDecimal enterpriseForceAmount) {
		this.enterpriseForceAmount = enterpriseForceAmount;
	}

	public String getEnterpriseInsurer() {
		return enterpriseInsurer;
	}

	public void setEnterpriseInsurer(String enterpriseInsurer) {
		this.enterpriseInsurer = enterpriseInsurer;
	}

	public String getEnterpriseInsuranceType() {
		return enterpriseInsuranceType;
	}

	public void setEnterpriseInsuranceType(String enterpriseInsuranceType) {
		this.enterpriseInsuranceType = enterpriseInsuranceType;
	}

	public String getEnterpriseInsuranceNumber() {
		return enterpriseInsuranceNumber;
	}

	public void setEnterpriseInsuranceNumber(String enterpriseInsuranceNumber) {
		this.enterpriseInsuranceNumber = enterpriseInsuranceNumber;
	}

	public Date getSupervisionCreateDatetime() {
		return supervisionCreateDatetime;
	}

	public void setSupervisionCreateDatetime(Date supervisionCreateDatetime) {
		this.supervisionCreateDatetime = supervisionCreateDatetime;
	}

	public Date getLoanApplicationCreateDatetime() {
		return loanApplicationCreateDatetime;
	}

	public void setLoanApplicationCreateDatetime(Date loanApplicationCreateDatetime) {
		this.loanApplicationCreateDatetime = loanApplicationCreateDatetime;
	}

	public Date getTransportNoticeCreateDatetime() {
		return transportNoticeCreateDatetime;
	}

	public void setTransportNoticeCreateDatetime(Date transportNoticeCreateDatetime) {
		this.transportNoticeCreateDatetime = transportNoticeCreateDatetime;
	}

	public Date getApplicationCreateDatetime() {
		return applicationCreateDatetime;
	}

	public void setApplicationCreateDatetime(Date applicationCreateDatetime) {
		this.applicationCreateDatetime = applicationCreateDatetime;
	}

	public Date getConstractCreateDatetime() {
		return constractCreateDatetime;
	}

	public void setConstractCreateDatetime(Date constractCreateDatetime) {
		this.constractCreateDatetime = constractCreateDatetime;
	}

	public Date getReceiveCreateDatetime() {
		return receiveCreateDatetime;
	}

	public void setReceiveCreateDatetime(Date receiveCreateDatetime) {
		this.receiveCreateDatetime = receiveCreateDatetime;
	}

	public BigDecimal getBailAlreadyReturn() {
		return bailAlreadyReturn;
	}

	public void setBailAlreadyReturn(BigDecimal bailAlreadyReturn) {
		this.bailAlreadyReturn = bailAlreadyReturn;
	}

	public ProductTypeEnum getProductType() {
		return productType;
	}

	public void setProductType(ProductTypeEnum productType) {
		this.productType = productType;
	}

	public BigDecimal getBail() {
		return bail;
	}

	public void setBail(BigDecimal bail) {
		this.bail = bail;
	}

	private transient FinanceContainerEntity financeContainer;

	public Long getFinanceId() {
		return financeId;
	}

	public void setFinanceId(Long financeId) {
		this.financeId = financeId;
	}

	public Long getEnterpriseId() {
		return enterpriseId;
	}

	public void setEnterpriseId(Long enterpriseId) {
		this.enterpriseId = enterpriseId;
	}

	public String getEnterpriseName() {
		return enterpriseName;
	}

	public void setEnterpriseName(String enterpriseName) {
		this.enterpriseName = enterpriseName;
	}

	public String getFinanceNumber() {
		return financeNumber;
	}

	public void setFinanceNumber(String financeNumber) {
		this.financeNumber = financeNumber;
	}

	public Date getApplicationDateTime() {
		return applicationDateTime;
	}

	public void setApplicationDateTime(Date applicationDateTime) {
		this.applicationDateTime = applicationDateTime;
	}

	public BigDecimal getApplicationAmount() {
		return applicationAmount;
	}

	public void setApplicationAmount(BigDecimal applicationAmount) {
		this.applicationAmount = applicationAmount;
	}

	public BigDecimal getValuation() {
		return valuation;
	}

	public void setValuation(BigDecimal valuation) {
		this.valuation = valuation;
	}

	public LoanMethodEnum getLoanMethod() {
		return loanMethod;
	}

	public void setLoanMethod(LoanMethodEnum loanMethod) {
		this.loanMethod = loanMethod;
	}

	public Integer getLoanTimeLimit() {
		return loanTimeLimit;
	}

	public void setLoanTimeLimit(Integer loanTimeLimit) {
		this.loanTimeLimit = loanTimeLimit;
	}

	public BigDecimal getEstimateInterest() {
		return estimateInterest;
	}

	public void setEstimateInterest(BigDecimal estimateInterest) {
		this.estimateInterest = estimateInterest;
	}

	public Long getBulkstockCategoryId() {
		return bulkstockCategoryId;
	}

	public void setBulkstockCategoryId(Long bulkstockCategoryId) {
		this.bulkstockCategoryId = bulkstockCategoryId;
	}

	public String getBulkstockCategory() {
		return bulkstockCategory;
	}

	public void setBulkstockCategory(String bulkstockCategory) {
		this.bulkstockCategory = bulkstockCategory;
	}

	public Long getDeliverProvinceId() {
		return deliverProvinceId;
	}

	public void setDeliverProvinceId(Long deliverProvinceId) {
		this.deliverProvinceId = deliverProvinceId;
	}

	public String getDeliverProvince() {
		if (deliverProvince != null) {
			return deliverProvince.trim();
		} else {
			return "";
		}
	}

	public void setDeliverProvince(String deliverProvince) {
		this.deliverProvince = deliverProvince.trim();
	}

	public Long getDeliverCityId() {
		return deliverCityId;
	}

	public void setDeliverCityId(Long deliverCityId) {
		this.deliverCityId = deliverCityId;
	}

	public String getDeliverCity() {
		if (deliverCity != null) {
			return deliverCity.trim();
		} else {
			return "";
		}
	}

	public void setDeliverCity(String deliverCity) {
		this.deliverCity = deliverCity.trim();
	}

	public Long getDeliverDistrictId() {
		return deliverDistrictId;
	}

	public void setDeliverDistrictId(Long deliverDistrictId) {
		this.deliverDistrictId = deliverDistrictId;
	}

	public String getDeliverDistrict() {
		return deliverDistrict;
	}

	public void setDeliverDistrict(String deliverDistrict) {
		this.deliverDistrict = deliverDistrict;
	}

	public String getDeliverAddress() {
		return deliverAddress;
	}

	public void setDeliverAddress(String deliverAddress) {
		this.deliverAddress = deliverAddress;
	}

	public String getDeliverContactor() {
		return deliverContactor;
	}

	public void setDeliverContactor(String deliverContactor) {
		this.deliverContactor = deliverContactor;
	}

	public String getDeliverContactPhone() {
		return deliverContactPhone;
	}

	public void setDeliverContactPhone(String deliverContactPhone) {
		this.deliverContactPhone = deliverContactPhone;
	}

	public Long getReceiveProvinceId() {
		return receiveProvinceId;
	}

	public void setReceiveProvinceId(Long receiveProvinceId) {
		this.receiveProvinceId = receiveProvinceId;
	}

	public String getReceiveProvince() {
		if (receiveProvince != null) {
			return receiveProvince.trim();
		} else {
			return "";
		}
	}

	public void setReceiveProvince(String receiveProvince) {
		this.receiveProvince = receiveProvince.trim();
	}

	public Long getReceiveCityId() {
		return receiveCityId;
	}

	public void setReceiveCityId(Long receiveCityId) {
		this.receiveCityId = receiveCityId;
	}

	public String getReceiveCity() {
		if (receiveCity != null) {
			return receiveCity.trim();
		} else {
			return "";
		}
	}

	public void setReceiveCity(String receiveCity) {
		this.receiveCity = receiveCity.trim();
	}

	public Long getReceiveDistrictId() {
		return receiveDistrictId;
	}

	public void setReceiveDistrictId(Long receiveDistrictId) {
		this.receiveDistrictId = receiveDistrictId;
	}

	public String getReceiveDistrict() {
		return receiveDistrict;
	}

	public void setReceiveDistrict(String receiveDistrict) {
		this.receiveDistrict = receiveDistrict;
	}

	public String getReceiveAddress() {
		return receiveAddress;
	}

	public void setReceiveAddress(String receiveAddress) {
		this.receiveAddress = receiveAddress;
	}

	public String getReceiveContactor() {
		return receiveContactor;
	}

	public void setReceiveContactor(String receiveContactor) {
		this.receiveContactor = receiveContactor;
	}

	public String getReceiveContactPhone() {
		return receiveContactPhone;
	}

	public void setReceiveContactPhone(String receiveContactPhone) {
		this.receiveContactPhone = receiveContactPhone;
	}

	public String getPackingDemand() {
		return packingDemand;
	}

	public void setPackingDemand(String packingDemand) {
		this.packingDemand = packingDemand;
	}

	public String getMarkDemand() {
		return markDemand;
	}

	public void setMarkDemand(String markDemand) {
		this.markDemand = markDemand;
	}

	public BigDecimal getInterest() {
		return interest;
	}

	public void setInterest(BigDecimal interest) {
		this.interest = interest;
	}

	public String getStoreDemand() {
		return storeDemand;
	}

	public void setStoreDemand(String storeDemand) {
		this.storeDemand = storeDemand;
	}

	public String getSafekeep() {
		return safekeep;
	}

	public void setSafekeep(String safekeep) {
		this.safekeep = safekeep;
	}

	public Long getProductId() {
		return productId;
	}

	public void setProductId(Long productId) {
		this.productId = productId;
	}

	public String getProductName() {
		return productName;
	}

	public void setProductName(String productName) {
		this.productName = productName;
	}

	public FinanceStateEnum getFinanceState() {
		return financeState;
	}

	public void setFinanceState(FinanceStateEnum financeState) {
		this.financeState = financeState;
	}

	public BigDecimal getFinanceAmount() {
		return financeAmount;
	}

	public void setFinanceAmount(BigDecimal financeAmount) {
		this.financeAmount = financeAmount;
	}

	public BigDecimal getAuditInterest() {
		return auditInterest;
	}

	public void setAuditInterest(BigDecimal auditInterest) {
		this.auditInterest = auditInterest;
	}

	public String getAuditRemark() {
		return auditRemark;
	}

	public void setAuditRemark(String auditRemark) {
		this.auditRemark = auditRemark;
	}

	public Long getAuditorId() {
		return auditorId;
	}

	public void setAuditorId(Long auditorId) {
		this.auditorId = auditorId;
	}

	public String getAuditor() {
		return auditor;
	}

	public void setAuditor(String auditor) {
		this.auditor = auditor;
	}

	public String getRejectRemark() {
		return rejectRemark;
	}

	public void setRejectRemark(String rejectRemark) {
		this.rejectRemark = rejectRemark;
	}

	public Integer getAdvanceTimeLimit() {
		return advanceTimeLimit;
	}

	public void setAdvanceTimeLimit(Integer advanceTimeLimit) {
		this.advanceTimeLimit = advanceTimeLimit;
	}

	public Integer getPunishTimeLimit() {
		return punishTimeLimit;
	}

	public void setPunishTimeLimit(Integer punishTimeLimit) {
		this.punishTimeLimit = punishTimeLimit;
	}

	public BigDecimal getCreditQuota() {
		return creditQuota;
	}

	public void setCreditQuota(BigDecimal creditQuota) {
		this.creditQuota = creditQuota;
	}

	public BigDecimal getTotalLoanAmount() {
		return totalLoanAmount;
	}

	public void setTotalLoanAmount(BigDecimal totalLoanAmount) {
		this.totalLoanAmount = totalLoanAmount;
	}

	public BigDecimal getTotalReceivedAmount() {
		if (null == totalReceivedAmount) {
			return BigDecimal.ZERO;
		}
		return totalReceivedAmount;
	}

	public void setTotalReceivedAmount(BigDecimal totalReceivedAmount) {
		this.totalReceivedAmount = totalReceivedAmount;
	}

	public Boolean getBookingSpace() {
		return bookingSpace;
	}

	public void setBookingSpace(Boolean bookingSpace) {
		this.bookingSpace = bookingSpace;
	}

	public Long getSupervisionContractId() {
		return supervisionContractId;
	}

	public void setSupervisionContractId(Long supervisionContractId) {
		this.supervisionContractId = supervisionContractId;
	}

	public String getDeliver() {
		return deliver;
	}

	public void setDeliver(String deliver) {
		this.deliver = deliver;
	}

	public String getReceive() {
		return receive;
	}

	public void setReceive(String receive) {
		this.receive = receive;
	}

	public Long getFinanceContractId() {
		return financeContractId;
	}

	public void setFinanceContractId(Long financeContractId) {
		this.financeContractId = financeContractId;
	}

	public Long getSupervisionNoticeId() {
		return supervisionNoticeId;
	}

	public void setSupervisionNoticeId(Long supervisionNoticeId) {
		this.supervisionNoticeId = supervisionNoticeId;
	}

	public Boolean getAbnormal() {
		return abnormal;
	}

	public void setAbnormal(Boolean abnormal) {
		this.abnormal = abnormal;
	}

	public FinanceContainerEntity getFinanceContainer() {
		return financeContainer;
	}

	public void setFinanceContainer(FinanceContainerEntity financeContainer) {
		this.financeContainer = financeContainer;
	}

	public Integer getDistrainTimeLimit() {
		return distrainTimeLimit;
	}

	public void setDistrainTimeLimit(Integer distrainTimeLimit) {
		this.distrainTimeLimit = distrainTimeLimit;
	}

	public BigDecimal getCreditQuotaConsume() {
		return creditQuotaConsume;
	}

	public void setCreditQuotaConsume(BigDecimal creditQuotaConsume) {
		this.creditQuotaConsume = creditQuotaConsume;
	}

	public String getFullDeliverAddress() {
		return deliverProvince + deliverCity + (StringUtils.isNotBlank(deliverDistrict) ? deliverDistrict : "") + (StringUtils.isNotBlank(deliverAddress) ? deliverAddress : "");
	}

	public String getFullReceiveAddress() {
		return receiveProvince + receiveCity + (StringUtils.isNotBlank(receiveDistrict) ? receiveDistrict : "") + (StringUtils.isNotBlank(receiveAddress) ? receiveAddress : "");
	}

	public Long getProxyAccountId() {
		return proxyAccountId;
	}

	public void setProxyAccountId(Long proxyAccountId) {
		this.proxyAccountId = proxyAccountId;
	}

	public String getProxyAccountName() {
		return proxyAccountName;
	}

	public void setProxyAccountName(String proxyAccountName) {
		this.proxyAccountName = proxyAccountName;
	}

	public Long getSupplementContractId() {
		return supplementContractId;
	}

	public void setSupplementContractId(Long supplementContractId) {
		this.supplementContractId = supplementContractId;
	}

}
